1. Field of the Invention
The present invention generally relates to a method for detecting data transmission rate and more particularly, to a method for detecting the data transmission rate of a USB controller by using a USB device, characterized in that a program storage device is installed in the USB device to detect whether the USB controller of a computer connected thereto responds a signal corresponding to a high-speed USB controller within a pre-determined period of time, thereby determining whether the host supports a high-speed transmission mode, so as to efficiently complete detecting the data transmission rate of the host controller with a minimum number of programs.
2. Description of the Prior Art
In recent years, with the rapid development in the information industry, people have increasing needs for a higher operation speed as well as a higher data transmission rate of information products. Universal Serial Bus (USB) technology according to the conventional USB standard (USB 1.1) has become insufficient in many aspects.
The advantages of the USB standard include compatibility with “Plug-And-Play” (PNP), ability in connecting up to 127 different peripheral devices on the bus at a time and 5-V power supply while only one interruption request (IRQ) is required. The conventional USB standard 1.1 has received a great deal of attention from those designing computer peripherals as of late, no one has heretofore thought to use it as an interface for an image processing system. This is primarily because the USB standard 1.1 provides a low-speed transmission rate of 1.5 Mbps and a full-speed transmission rate of 12 Mbps, both of which, however, are orders of magnitude slower than the 133 MBps PCI bus. Accordingly, USB 1.1 is not believed to be fast enough to support the data flow requirements of an image processing system.
Even though a new USB standard (USB 2.0) has recently been proposed to reach a higher data transmission rate of 480 Mbps, however, most of the peripheral devices still operate according to USB 1.1. Therefore, there is need in developing a solution to the compatibility between these specifications and it has become an important issue to identify the data transmission rate of a host controller for supporting its peripheral USB devices.
A conventional method for identifying the transmission rate of a peripheral USB device for a USB controller is shown in FIG. 1. To start with, detect whether the peripheral USB device connected to the host controller is a low-speed device or not (step 101). If yes, data is transmitted in a low-speed mode (step 121); if not, it is believed that the peripheral device can receive data transmitted at least in a full-speed mode, and the procedure proceeds detecting whether the peripheral device is a high-speed device. Meanwhile, the (USB) controller of the host delivers a SEO signal (step 103), and then detects whether a K signal is received within 3 ms (step 105). If not, is it believed that the peripheral device is a full-speed device and thus the host controller transmits data in a full-speed mode (step 125); if yes, a chirp sequence is then performed so as to determine whether the peripheral device is a high-speed device (step 107). Then, the chirp sequence is detecting to be completed or not (step 109). If not, the host controller transmits data in a full-speed mode (step 125); if yes, it is thus believed that the peripheral device is a high-speed USB device and thus the host controller transmits data to the peripheral device in a high-speed mode (step 111).
By using the fore-mentioned method, a high-speed USB controller can identify the data transmission rate of a peripheral USB device connected thereto. However, the high-speed USB device also has to meet the specification of the conventional USB 1.1 for broadening its application field. Thus, here comes the problem for the high-speed USB device to detect whether the USB controller in a computer is a high-speed USB controller or a full-speed USB controller.
Therefore, there is need in providing a method for detecting the data transmission rate of the USB controller for a high-speed peripheral USB device, for simplifying the detecting procedure and minimized the number of required programs.